With the recent development of 3D sensing technologies, 3D point clouds have become a practical format to represent data points in many applications. A sensing device measures a large number of points on an object's surface, and the point cloud represents the set of points that has been measured. A point cloud typically includes a massive data set that defines a large number of data points in some coordinate system. For example, a laser scan of a physical object will typically produce a data set that contains millions of data points, each specified by a 3-tuple using orthogonal coordinates that represent 3D space (e.g. x, y, z).
The processing, analysis and reporting of such large point cloud data sets can be difficult. In particular, it is often the case that the size of a point cloud data set exceeds the design and performance capabilities of the systems that need to make use of this data. Consequently, methods for reducing the size of point cloud data sets are an important pre-processing step in order to reduce the volume of data to a level suitable for consuming systems. The simplified or reduced point cloud data can then be more efficiently processed.
There are a number of related art approaches for simplifying point cloud data. However, these related art approaches either carry a significant risk of losing data, such as key features of the objects and/or surfaces represented by the data (e.g. sub-sampling decimation, uniform spatial clustering) or are complicated to implement and therefore require more expense computationally, and require more processing time.
Therefore, a need exists in the art for an improved way to detect and/or predict machine failure from the large amounts of data.